// 1.1 获取裁剪区域的 DOM 元素
var $image = $('#image')
// 1.2 配置选项
const options = {
    // 纵横比
    aspectRatio: 1,
    // 指定预览区域
    preview: '.img-preview'
}

// 1.3 创建裁剪区域
$image.cropper(options)

//需求2: 选择图片
$("#changeImageBtn").on('click', function () {
    $("#changeImageInp").click()
})

//需求3: 渲染预览区域
let layer = layui.layer
$("#changeImageInp").on('change', (e) => {
    let file = e.target.files[0]
    if (file == undefined) {
        return layer.msg('请选择图片')
    }
    var newImgURL = URL.createObjectURL(file)
    $image
        .cropper('destroy')      // 销毁旧的裁剪区域
        .attr('src', newImgURL)  // 重新设置图片路径
        .cropper(options)        // 重新初始化裁剪区域
})

//需求4:上传头像
$("#uploadAvatar").on('click', () => {
    var dataURL = $image
        .cropper('getCroppedCanvas', { // 创建一个 Canvas 画布
            width: 100,
            height: 100
        })
        .toDataURL('image/png')
    // 将 Canvas 画布上的内容，转化为 base64 格式的字符串
    //axios传递参数,底层默认没有帮助编码,需要手动编码
    axios({
        method: 'POST',
        url: '/my/update/avatar',
        data: 'avatar=' + encodeURIComponent(dataURL)
    }).then(res => {
        if (res.data.status !== 0) {
            return layer.msg(res.data.message)
        }
        //成功提示 刷新index.html里面的头像
        layer.msg('更换成功')
        window.parent.getUserInfo();
    })
})
